package lesson7;

//统计程序运行过程中总共创建了几个Person对象
public class Person {
    //被static修饰的资源会提升为类的资源，可以通过类名称直接调用
    //成为类的成员变量/成员方法
    //被static修饰的资源会被所有的对象共享
    //被static修饰的资源只能访问同样被static修饰的资源
    public static int count;
    //没有被static修饰的资源属于对象的成员变量/成员方法
    public int age;

    static{
        System.out.println("我是静态代码块，我只在类被加载时执行");
    }

    {
        System.out.println("我是构造代码块,每一次调用构造方法前，我先执行");
        count++;
    }

    public Person(){
//        {
//            System.out.println("我是局部代码块");
//        }
        System.out.println("Person()");


    }

    public Person(int age){
        System.out.println("Person(int age)");

    }

    public static void fun1(){

        //age = 100;
        count = 200;
        fun3();

    }

    public  void fun2(){
        fun1();
//        System.out.println("111111111111111");
//        {
//            int num = 20;
//            System.out.println("我是局部代码块");
//        }
//
//        System.out.println("222222222222222");

    }

    public  static void fun3(){

    }
}
